using System;

namespace Gadgeteer.Interfaces
{
    /// <summary>
    /// Swappable clock.
    /// </summary>
    /// <remarks>
    /// Adds overhead but allows for verification of program logic based on predetermined date(time).
    /// </remarks>
    public interface IClock
    {
        /// <summary>
        /// Get the current date <see cref="DateTime.Today"/>.
        /// </summary>
        DateTime Date { get; }

        /// <summary>
        /// Get the current <see cref="DateTime.Now"/>.
        /// </summary>
        DateTime Current { get; }
    }
}
